public class Leap {
    // 判断是否为闰年，闰年 2 月 29 天
    // 1. 非整百，能被 4 整除
    // 2. 整百，能被 400 整除
    private boolean isLeap(int y) {
        if (y % 100 == 0) {
            return y % 400 == 0;
        }
        return y % 4 == 0;
    }

    // return 日期是第几天
    public int cal(int y, int m, int d) {
        int[] days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
        int cnt = 0;

        if (isLeap(y)) {
            days[1] = 29;
        }
        for (int i = 0; i < m - 1; i++) {
            cnt += days[i];
        }
        cnt += d;
        return cnt;
    }
}